package Z002BianLiang;
// 翻译 什么是变量
public class WhatBL {
    public static void main(String[] args) {
        /***
         * int 是数据类型，表示是整数
         * year 是一个标识符
         * = 是赋值操作符
         * 1949 是一个数字类型的值
         * ; 表示该行结束
         *
         * year 这个标识符就是一个变量，它代表1949这个值
         */
        int year = 1949;

        /**
         * 一个变量的类型，决定了该变量可以包含什么样的值。
         * Java中有八种基本类型，都是Java语言预先定义好的，并且是关键字。
         *
         * 这八种基本类型分别是：
         * 整型 （4种）
         * 字符型 （1种）
         * 浮点型 （2种）
         * 布尔型（1种)
         *
         * 整型变量用于存放整数
         * byte
         * short
         * int
         * long
         * 区别在于不同类型的整型，最大值，最小值不一样
         * 如果试图给byte类型的变量赋予超出其范围的值，就会产生编译错
         */
        byte b = 1;
        short s = 200;
        int i = 300;
        long l = 400;
        /*如果试图给byte类型的变量赋予超出其范围的值，就会产生编译错误*/
        //byte b2 = 200;


        /**
         * char类型用于存放一个字符，值用单引号'表示 (双引号表示字符串)
         * 其长度和short一样，也是16位的
         * 只能存放一个字符，超过一个字符就会产生编译错误
         */
        char c1 = '中';
        // char c2 = '中国';
        // char c3 = 'ab';

        /**
         * 浮点数类型有两种
         * float 长度为32位
         * double 长度为64位
         * 注意： 默认的小数值是double类型的
         * 所以 float f = 54.321会出现编译错误，因为54.321的默认类型是 double，其类型 长度为64，超过了float的长度32
         * 在数字后面加一个字母f，直接把该数字声明成float类型
         * float f2 = 54.321f,
         * 这样就不会出错了
         */
        float f = 54.321f;
        // float f2 = 45.898;

        /**
         * 布尔型用于表示真假
         * 其长度为1
         */
        boolean b1 = true;
        boolean b2 = false;
        // boolean b3 = 1;

        /**
         * String类型其实并不是基本类型，但是它是如此广泛的被使用，常常被误以为是一种基本类型。
         * String类型是Immutable的，一旦创建就不能够被改变
         */
        String str = "Hello Java";

        /**
         * 练习：
         * 分别为如下值，找到合适的类型来定义
         * 3.14
         * 2.769343
         * 365
         * 12
         * '吃'
         * false
         * "不可描述"
         */

        float f1 = 3.14f;
        double d1 = 2.436534;
        long i2 = 365L;
        int i3 = 12 ;
        char c6 = '吃';
        boolean b3 = false ;
        String str2 = "不可描述";


    }
}
